package com.ws.exer;

import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

/*
从键盘读入学生成绩，找出最高分，并输出学生成绩等级。
成绩>=最高分-10 等级为 A,
成绩>=最高分-20 等级为 B
成绩>=最高分-30 等级为 C
其余等级为 D
提示:先读入学生人数，根据人数创建int数组，存放学生成绩。

 */
public class ArrayDemo {
    public static void main(String[] args) {
        //1.使用Scanner，读取学生个数
        Scanner scanner = new Scanner(System.in);
        System.out.println("输入学生人数：");
        int studentNum = scanner.nextInt();
        //2.创建数组，存储学生成绩：动态初始化
        int[] nums = new int[studentNum];
        //3.给数组中的元素赋值
        for (int i = 0; i < nums.length; i++) {
            int score = (int) (Math.random() * 100);
            nums[i] = score;
        }
        System.out.println(Arrays.toString(nums));

        //4.获取数组中的元素的最大值：最高分
        int maxScore = 0;
        for (int i = 1; i < nums.length; i++) {
            maxScore = Math.max(maxScore, nums[i]);
        }
        System.out.println(maxScore);

        //5.根据每个学生成绩与最高分的差值，得到每个学生的等级和成绩
        String level;
        for (int num: nums) {
            if (num >= maxScore - 10) {
                level = "A";
            } else if (num >= maxScore - 20) {
                level = "B";
            } else if (num >= maxScore - 30) {
                level = "C";
            } else {
                level = "D";
            }
            System.out.println(num + "\t" + level);
        }

    }
}
